Version Française English Version

Planète Casio - Programmes, jeux et cours pour calculatrices Casio

Bookmark and Share
Bienvenue sur Planète Casio, n'hésitez pas à poser vos questions sur le forum, et pensez à rejoindre Planète-Casio sur Facebook !
Spaceraider
Forums Casio - Astuces Calculatrices Casio

Index du Forum | Astuces Calculatrices Casio | [ Tutorial ] Tir balistic, jeu de worms, de tir
Neuronix
Hors ligne
Webmaster
Niveau: Elite
Points: 4487
Défis: 21
Email | Message
Posté le 05/03/2006 18:16

[ Tutorial ] Tir balistic, jeu de worms, de tir:

C'est un classic, incontournable, meme simple c'est toujours drole, on veut tous en faire un dans sa vie de programmeur

Mais toi tu sais pas faire ! Heureusement que planete-casio est là !

Je vais donner une explication physique (on étudie le mouvement dit parabolique en Term mais c'est pas trop dur à comprendre ) puis je ferai un tuto qui applique quelques points pour un programme (on peut simplifier le probleme).

Donc ne flippez pas devant les calculs!

Etude sans forces de frottements (vent, air) :

Systeme : la balle, de masse m
Referentiel : terrestre supposé galiléen
Forces :
- Le poids : P = m.g avec g dirigé vers le sol
Et oui c'est tout !

Le tir est dans un plan de l'espace donc on peut ramener toute l'étude à un plan (O,x,y)

Le vecteur acceleration a a donc pour coordonnées :
a ( 0 , -g )
Par intégration (voir en bas) on trouve le vecteur vitesse v :
v (0 + cte1 , -g * t + cte2)
les constantes sont en fait les projections du vecteur vitesse initiale sur les axes (x,y)
On a donc cte1 = Vo * cos (µ) et cte2 = Vo * sin (µ)
v ( Vo * cos (µ) , -g * t + Vo * sin (µ) )
On intégre à nouveau pour obtenir les coordonnées r de la balle en fonction du temps :
r ( Vo * cos (µ) * t + cte1 , -(1/2) * g * t^2 + Vo * sin (µ) * t + cte2 )
Ici les constantes sont en fait les coordonnées initiales de la balles (là d'ou on tire en fait), on prenra l'origine pour la suite donc cte1 = 0 = cte2

On a donc un système en fonction de t, le temps :
x = Vo * cos (µ) * t
y = -(1/2) * g * t^2 + Vo * sin (µ) * t

En posant t = x / ( Vo * cos (µ) )
Et en remplacant dans y= ... on a y en fonction de x donc on élimine le temps

y= -(1/2) * g * ( x / ( Vo * cos (µ) ) )^2 + Vo * sin (µ) * ( x / ( Vo * cos (µ) ) )

y = - ( g * x^2 ) / ( 2 * Vo^2 * cos (µ)^2 ) + x * tan (µ)

Bon ceci est l'approche physique telle que vous la verrez en Term

Pour la programmation d'un jeu de tir il nous suffit de voir comment se deplace la balle.

- Elle part de Xo,Yo à Vo avec un angle µ.
- au cours du mouvement la gravité agit sur la balle

Donc en fait il suffit de projeter le vecteur vitesse initial sur x,y pour obtenir les coordonnées de la balle à la date t1, t2 etc

depX = Vo * cos (µ)
depY = Vo * sin (µ)

donc considérons une boucle de tir :

?->A
?->F
Fcos A->U
Fsin A->V
0->C~D
Do
C+U->C
D+V->D
Lpwhile...


On va avoir un tir "droit" à l'infini.
En ajoutant la gravité :

?->A
?->F
?->G
Fcos A->U
Fsin A->V
0->C~D
Do
C+U->C
D+V->D
V-G->V
Lpwhile...


Et voila une belle parabole
Note : attention, utilisez une valeur tres faible pour la gravité du genre 0.3 au début

Si on ajoute le vent :

?->A
?->F
?->G
?->W
Fcos A->U
Fsin A->V
0->C~D
Do
C+U->C
D+V->D
V-G->V
U+W->U
Lpwhile...


Faites des essais c'est marrant de voir la balle revenir avec le vent

Intégration :
Le contraire de la dérivation, elle sert pour les calculs d'intégrales (calcul de l'aire délimité par Y=0 et une courbe sur un intervalle par exemple)
Dans la calculatrice, le signe intégrale est un grand S().

S(1) = x + cte (rappelez vous que diff(cte) = 0 )
S(cte) = cte * x + cte2
S(x) = (x^2)/2 (en effet diff((x^2)/2) = 2 * (1/2) * x' * x = x )

Bookmark and Share

Manager de foot en ligne sympa !
smiley



Pierrotll
En ligne
Administrateur
Niveau: Elite
Points: 4959
Défis: 41
Email | Message
Dernier message de la page précédente :Posté le 12/06/2011 22:55 |
Le plus rapide pour tracer un cercle ou un disque est d'utiliser l'algorithme de tracé d'arc de cercle de Bresenham.
----------------------------------
Gravity Duck <> Orton <> Hard Game <> Ball Game <> Falldown <> IndestructoTank <> Aspirine



Pages: Précédente | 1, 2, 3, 4

Javierxd
Hors ligne
Membre
Niveau: Confirmé
Points: 1236
Défis: 8
Email | Message
Citer : Posté le 14/06/2011 10:46 |
je n'ai jamais entendu parler de cet algorithme...
----------------------------------
Calculatrices: g35+usb modifiée, PRIZM
Espagnol

Programmes
Smashmaster
Hors ligne
Modérateur
Niveau: Vétéran
Points: 3208
Défis: 86
Email | Message
Citer : Posté le 14/06/2011 10:50 |
@Javierxd : [Algorithme de Bresenham]

Adaptation de cette algorithme en Basic :
ViewWindow 1,127,0,1,63,0
"RAYON"?->r
"COORD DU CENTRE EN X"?->U
"COORD DU CENTRE EN Y"?->V
0->A
r->B
r-1->M
Do
PlotOn A+U,B+V
PlotOn B+U,A+V
PlotOn -A+U,B+V
PlotOn -B+U,A+V
PlotOn A+U,-B+V
PlotOn B+U,-A+V
PlotOn -A+U,-B+V
PlotOn -B+U,-A+V
If M>=2A
Then M-2A-1->M
A+1->A
Else If M<=2(r-B
Then M+2B-1->M
B-1->B
Else M+2(B-A-1->M
B-1->B
A+1->A
IfEnd
IfEnd
LpWhile B>=A

----------------------------------
L1 Math-Informatique à l'université Paul-Verlaine (Metz)
Javierxd
Hors ligne
Membre
Niveau: Confirmé
Points: 1236
Défis: 8
Email | Message
Citer : Posté le 15/06/2011 19:21 |

Je crois que je vais rester avec l'ancienne méthode, mais ces 2 algorithmes seraient bons à mettre dans ce tutorial
----------------------------------
Calculatrices: g35+usb modifiée, PRIZM
Espagnol

Programmes
Smashmaster
Hors ligne
Modérateur
Niveau: Vétéran
Points: 3208
Défis: 86
Email | Message
Citer : Posté le 15/06/2011 19:33 |
Le plus rapide pour tracer un cercle ou un disque est d'utiliser l'algorithme de tracé d'arc de cercle de Bresenham.

Mais c'est comme tu veux
----------------------------------
L1 Math-Informatique à l'université Paul-Verlaine (Metz)
Louloux
Hors ligne
Rédacteur
Niveau: Confirmé
Points: 3178
Défis: 37
Email | Message
Citer : Posté le 18/06/2011 08:58 |
Hum, cet algorithme n'efface pas tous le points.

cf Wiki pour une alternative
----------------------------------
Dieu créa l'homme, l'homme créa la calculatrice... Qui est le prochain ?
42

Pages: Précédente | 1, 2, 3, 4

Index du Forum | Astuces Calculatrices Casio | [ Tutorial ] Tir balistic, jeu de worms, de tir
Pseudo :
Adresse email :
Réponse :
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :?:  :arrow:  :!:  :here:
Ajouter fichier joint :


Me prévenir par mail lorsqu'une réponse est postée.

Un petit test (entrez le résultat en chiffres):
Combien font trois plus deux ?

Recherche :
Publicité et partenaires

Omnimaga
Casio Education
Casio Éducation
Casio Scene
Casio Scene

TI-Planet
CasioFan, la communauté ClassPad
CasioFan
Space-Raider
Space-Raider
GameMaster
GameMasters.fr

Jeux Casio - www.planet-casio.com v3.0 © créé par Neuronix et Muelsaco 2004-2012 | Il y a 50 connectés | Nous contacter | Recherches effectuées
Rugby Manager | Jeu de handball | Jeu de foot | Jeu de rugby | Jeu de tennis | Space raider | Sublinet | Top-cinema, films, cinéma, séries | Pension pour chats

Planète-Casio est un site communautaire indépendant et n'est donc pas affilié à Casio | Toute reproduction de Planète-Casio, même partielle, est interdite
Les fichiers, programmes et publications postés sur Planète-Casio restent la propriété de leurs auteurs respectifs et peuvent être soumis à des copyrights
Merci de respecter le travail des autres ! | CASIO est une marque déposée par CASIO Computer Co., Ltd